package ${package}.dao.mybatis.${moduleName};

import java.util.List;
import ${package}.dto.api.${moduleName}.Get${ClassName}ParamsDto;
import ${package}.entity.${moduleName}.${ClassName};
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * ${functionName}.
 */

@Mapper
public interface ${ClassName}Mapper {

  List<${ClassName}>
          query${ClassName}ListByCondition(
          @Param("params") Get${ClassName}ParamsDto paramsDto,
          @Param("pageNum") int pageNum,
          @Param("pageSize") int pageSize);

  /**
  * 根据主键id查询数据.
  */
  ${ClassName} selectByPrimaryKey(@Param("id") Integer id);

  /**
  * 根据主键id逻辑删除数据.
  */
  Boolean deleteByPrimaryKey(@Param("id") Integer id);

  /**
  * 根据id更新状态.
  */
  Integer changeStatusById(Integer id, Integer status);

  /**
  * 新增或更新数据 有id进行更新，没有id就进行新增。.
  */
  Boolean saveOrUpdate(@Param("params") ${ClassName} params);
}